<template lang="html">
  <el-dialog
    width="600px"
    :title="`编辑定时任务`"
    :close-on-click-modal="false"
    :visible="dialogVisible"
    destroy-on-close
    @close="close"
  >
    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="auto" class="mt10">
      <el-form-item label="任务名称" prop="taskName">
        <el-input v-model="ruleForm.taskName" placeholder="请输入" disabled/>
      </el-form-item> 
      <el-form-item label="任务输入参数" prop="inParam">
        <el-input v-model="ruleForm.inParam" type="textarea" :rows="3" disabled/>
      </el-form-item>  
      <el-form-item label="定时表达式" prop="cron">
        <el-input v-model="ruleForm.cron" placeholder="请输入cron表达式" :title="cronDemo"/> 
      </el-form-item> 
       
    </el-form>

    <span slot="footer" class="dialog-footer">
      <!-- <span style="float:left">
          <el-button type="warning" v-if="this.ruleForm.cron"  @click="doDel">删除</el-button>
      </span> -->
      <el-button @click="close">取消</el-button>
      <el-button type="primary" :loading="btnLoading" @click="submitData">确认</el-button>
    </span>
 
  </el-dialog>
</template>

<script> 
import { SaveCron} from "api/dtmg/task";
import dialogMixin from "mixins/dialogMixin";
import rules from "./config/rules"; 

export default {
  components: {},
  mixins: [dialogMixin],
  props: {
    // 当前行数据
    currentRowObj: {
      type: Object,
      default: () => ({}),
    },
  },
  data() {
    return {
      ruleForm: {
        id: null,
        taskName: "", 
        inParam: "", 
        cron: "", 
      },
      rules, 
      cronDemo : "（1）0/2 * * * * ?   表示每2秒 执行任务 \n"
                 +"（2）0 0/2 * * * ?    表示每2分钟 执行任务\n"
                 +"（3）0 0 2 1 * ?   表示在每月的1日的凌晨2点调整任务\n"
                 +"（4）0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业\n"
                 +"（5）0 15 10 ? 6L 2002-2006   表示2002-2006年的每个月的最后一个星期五上午10:15执行作\n"
                 +"（6）0 0 10,14,16 * * ?   每天上午10点，下午2点，4点 \n"
                 +"（7）0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 \n"
                 +"（8）0 0 12 ? * WED    表示每个星期三中午12点 \n"
                 +"（9）0 0 12 * * ?   每天中午12点触发 \n"
                 +"（10）0 15 10 ? * *    每天上午10:15触发 \n"
                 +"（11）0 15 10 * * ?     每天上午10:15触发 \n"
                 +"（12）0 15 10 * * ?    每天上午10:15触发" ,
    };
  },

  methods: {
    /**
     * 初始化弹窗
     */
    initForm() {
      if (this.currentRowObj) {
        Object.assign(this.ruleForm, this.currentRowObj);
      }
    }, 
    
    /**
     * 提交
     */
    async doSubmit() {
      try {
        const {id, cron } = this.ruleForm;
        await SaveCron({id,cron});
        this.$message.success(`任务保存成功`);
        this.$emit("success");
        this.close();
      } catch (e) {
        console.log(e);
      } finally {
        this.btnLoading = false;
      }
    },
 
  },
};
</script>
